home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mac Mania 2
/
MacMania 2.toast
/
Demo's
/
Tools&Utilities
/
ObiWan 4.0.1
/
Additions
/
Technotes
< prev
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
Text File
|
1993-01-12
|
96.9 KB
|
2,441 lines
|
[
TEXT/MPS
]
=|
Technote Designation T.DC.Name (eg M.OV.Compatibility)
T Technology (always an M for Macintosh)
DC Documentation Category
Name Technical Note Name (shortened)
Documentation Categoryies:
CM Comms IC IAC PT Platforms & tools
DV Devices ME Memory PS Processes
FL Files NW Networking QT QuickTime
HW Herdware OS Obvious TE Text
IM Imaging OV Overview TB Macintosh Toolbox|
M.FL.IOFDirIndexSetting TN69
“Setting ioFDirIndex in PBGetCatInfo Calls”
This technical note describes how to set ioFDirIndex for
PBGetCatInfo.|
M.FL.ioPosOffset TN187
“Don’t Look at ioPosOffset”|
M.FL.ISO9660 TN209
“High Sierra & ISO 9660 CD ROM Formats”
What’s Wrong with my High Sierra Disc?|
M.FL.PBCatMove TN226 [1/2]
“Moving Your Cat”
This Technical Note clarifies the documentation in Inside
Macintosh for _PBCatMove and provides a demonstration on
how to use it. Changes since February 1989: Added a
discussion of using NIL for the destination name pointer,
which is the simplest way to use _CatMove, and revised the
sample code to use the high-level File Manager calls. Thanks
to Tim Dierks of Apple Developer Technical Support U.K. for |
M.FL.PBCatMove TN226 [1/2]
pointing out the problems with the previous version of this
Note.|
M.FL.Sparing TN287
“Hey Buddy, Can You Spare A Block?”
This Technical Note discusses a new feature of the System
Software 7.0 Disk Initialization Package—bad block sparing.|
M.HW.PortablePDS TN254
“Macintosh Portable PDS Development”
The Technical Note describes the unique aspects of the
Macintosh Portable Processor Direct Slot (PDS), including the
severe limitations in its use. Changes since October 1989:
Corrected PDS pin and signal descriptions in Tables 2 and 3.|
M.IM.DictionaryLoading
“The Lo Down on Dictionary Downloading”
This technical note discusses a method for downloading
PostScript dictionaries automatically using the LaserWriter driver.
It will also provide the format and use of the PREC(103) resource.
It will also describe some problems with the now obsolete
PREC(201) resource. If you are using PostScript dictionaries,
or either of these resources, you should definitely read this note.|
M.IM.LaserWriterOpt TN72
“Optimizing For The LaserWriter—Techniques”
This Technical Note discusses techniques for optimizing code for
printing on the LaserWriter. Changes since March 1988: Updated the
“Printable Paper Area” and “Memory Considerations” sections as well
as the printer IDs, moved the error messages from the end of the Note
to Technical Note #161, A Printing Loop That Cares…, and removed the
“Spool-A-Page/Print-A-Page” section because Technical Note #125,
Effect of Spool-A-Page/Print-A-Page on Shared Printers, already
thoroughly covers this topic.|
M.ME.PurgeProc TN111
“Using a PurgeProc”
This Technical Note discusses the use of the purgeProc field of an
application’s heap zone.|
M.NW.AppleTalk TN132
“AppleTalk Interface Update”
Technical Note #121 announced that we would be moving to a
simplified AppleTalk Manager interface. That interface is available now,
as part of MPW 2.0 and newer. Documentation for this new interface is
contained in the AppleTalk Manager chapter of Inside Macintosh Volume
V. This technical note contains some of the preliminary documentation
for this interface and some useful points about information about it, and
AppleTalk in general.|
M.OS.DeskHookINIT TN247
“Giving the (Desk)Hook to INITs”
This Technical Note discusses INIT evils, the foremost of which deals
with clearing DeskHook and DragHook at INIT time. Changes since August
1989: Added warning about clearing DragHook.|
M.OV.CompatibilityWhy TN117
“Compatibility: Why & How”
While creating or revising any program for the Macintosh, you should
be aware of the most common reasons why programs fail on various
versions of the Macintosh. This note will detail some common failure modes,
why they occur, and how to avoid them.|
M.OV.ExtraCDEVRes TN310
“Who Put That Resource in My CDEV?”
This Technical Note discusses the new 'fwst' resource added to some
Control Panels under System 7.0 and later.|
M.PT.PascalByPointer TN42
“Pascal Routines Passed by Pointer”|
M.PT.PascalObjects TN300
“My Life as a PascalObject”
This Technical Note discusses the PascalObject base class, used, for
instance, with MacApp programming. The Technical Note describes how to
write PascalObject derived classes that work with both Object Pascal and
C++ code linking. It also describes the current restrictions and bugs with
writing C++ code using PascalObject as the base class. This Technical Note
is based on MacApp 2.0(.1), MPW 3.2 and MPW C++ 3.1.|
M.PT.SerialUnderAUX TN284
“IOP-Based Serial Differences Under A/UX”
This Technical Note discusses use of the Macintosh IIfx IOP-based serial
driver under A/UX, especially under certain error conditions which cause it to
perform differently than documented in termio(7). (The SCC driver, used on
non-IOP machines, conforms to termio(7) in all cases.) References to “the
driver” herein refer to the IOP-based serial driver, seriop.c.|
M.TB.FinderFlags TN40
“Finder Flags”
This revision corrects the meanings of bits 6 and 7, which were
interchanged in the older version of this technical note. ResEdit uses these
bits incorrectly in versions older than 1.2.|
M.TB.MenuFlashing TN222
“Custom Menu Flashing Bug”
Selected menu items in a custom 'MDEF' resource do not flash correctly
due to a bug in the Menu Manager. This Technical Note describes the problem
and explains how to make your 'MDEF' flash correctly.|
M.TB.SICNinMenu TN253
“'SICN' Tired of Large Icons in Menus?”
This Technical Note describes a new facility of the Menu Manager which
allows you to add reduced icons and small icons to your menus. Changes
since August 1989: Corrected references to SetItemCmd from SetItmCmd.
M.TB.SetResLoad TN50
“Calling SetResLoad”|
M.TB.ResourceTips TN78
“Resource Manager Tips”
This note discusses some problems with the Resource Manager and how
to work around them.|
M.TB.ResHeaderAppBytes TN62
“Don’t Use Resource Header Application Bytes”|
M.TB.PendingUpdates TN304
“Pending Update Perils”
This Technical Note discusses potential problems when pending update
events for windows behind modal dialogs are not serviced. This note also
documents some new System 7 Dialog Manager calls. Changes since August
1991: Added note clarifying how to use the new calls, documented use of
StdFilterProc in Interface.o,and corrected code errors.|
M.TE.TextEditAdvice TN82
“TextEdit: Advice & Descent”
This technical note will point out some bugs (and possible
workarounds), and other items of interest for the TextEdit programmer.|
M.DV.AbsolutePtDev TN266
“Absolute Pointing Device Memory Structure”
This Technical Note specifies a memory data structure for
use by absolute pointing devices; it was developed for the
Apple Desktop Bus (ADB) but could also be used for devices
using serial input. Generally, this data structure is created
and updated by the pointing device’s driver and read by
either an application or the system cursor rendering
software.|
M.DV.AddDrive TN108
“_AddDrive, _DrvrInstall, and _DrvrRemove”
_AddDrive, _DrvrInstall, and _DrvrRemove are used in the
sample SCSI driver in the SCSI Development Package, which
is available from APDA. This Technical Note documents the
parameters for these calls. Changes since March 1, 1988:
Updated the _DrvrInstall text to reflect the use of register
A0, which should contain a pointer to the driver when
called. Also added simple glue code for _DrvrInstall and
_DrvrRemove since none is available in the MPW interfaces.|
M.DV.BootBlocks TN113
“Boot Blocks”
There are two undocumented features of the Boot Blocks.
This note will describe how they currently work. Warning:
The format and functionality of the Boot Blocks will change
in the future; dependence on this information may cause
your program to fail on future hardware or with future
System software.|
M.DV.BusErrorHandler TN292
“Bus Error Handlers”
This Technical Note discusses bus errors and how
applications and drivers should deal with them. Changes
since February 1991: Discussion of why declaration ROMs
are necessary in NuBus™ design. This discussion is
important for those who are considering using a
workaround instead of declaration ROMs. Also added are
some hints that you should be aware of if you are planning
to write a bus error handler for the ’040.|
M.DV.CDNotes TN293
“Most Excellent CD Notes”
This Technical Note discusses issues concerning the use of
the AppleCD SC drive, the Apple CD-ROM device driver, and
the Foreign File Access software extension.|
M.DV.ChecksumBounce TN258
“Our Checksum Bounced”
This Technical Note discusses a fix to a SCSI Manager bug
which concerns all developers working with SCSI and
NuBus™ device drivers.|
M.DV.DriverTime TN248 [1/2]
“DAs & Drivers in Need of (a Good) Time”
This Technical Note describes a few complications which
rear their rather ugly little heads when a desk accessory or
driver needs periodic time. It also presents a few solutions
to work around these problems and make life easier, at
least periodically. Changes since August 1989: Corrected
_BitClr and _BitSet examples. Okay, I admit it. I was having
too good of a time when I wrote the original Note and |
M.DV.DriverTime TN248 [2/2]
messed up the bit manipulations at the end. My vision was
blurred; I was in no condition to see those tiny little things.|
M.DV.DrvQEl TN36
“Drive Queue Elements”
This note expands on Inside Macintosh’s definition of the
drive queue, which is given in the File Manager chapter.|
M.DV.FearNoSCSI
“Fear No SCSI”
This Technical Note discusses the answers to questions
that are often asked about SCSI and that are not discussed
in Inside Macintosh Volumes IV and V.|
M.DV.FindingDrivers TN71
“Finding Drivers in the Unit Table”
This note will explain how code can be written to
determine the reference number of a previously installed
driver when only the name is known. Changes since 2/86:
Since the driver can be purged and the DCE still be allocated,
the code now tests for dCtlDriver being NIL as well.|
M.DV.HDHacking TN159
“Hard Disk Hacking”
For those of a technical bent with some extra time, you
can build your own hard disk system from a cheap SCSI
drive and a driver that you write. This is not a project for
those short on time, so beware.|
M.DV.HLControlAndStatus TN262
“High-Level Control and Status Calls: When a Good Call Goes Bad”
This Technical Note discusses situations under which high-
level Status calls do not work correctly and PBStatus calls
should be made instead. Changes since February 1990:
Information has been added describing similar problems
with high-level Control calls.|
M.DV.MonitorDepth TN276 [1/2]
“Gimmie Depth Or Gimmie Death (So You Want to be a MonitorsImpersonator?)”
This Technical Note describes two new system calls that
allow an application to change the depth and flags for a
given device and also check whether a device supports a
particular depth and flags setting. Apple provides these
calls to give developers a better way to help users make
changes when they consider it appropriate. Abusive use of
these calls is a sure way to guarantee that the Thought
Police come after you to confiscate your Macintoshes, your |
M.DV.MonitorDepth TN276 [2/2]
stock of Mountain Dew®, and your Technical Notes binder.
This Note assumes familiarity with Inside Macintosh,
Volume V, Graphics Devices. Changes since April 1990:
Corrected trap addresses and dispatch numbers in the
SetDepth and GetDepth definitions.|
M.DV.PBClose TN278
“_PBClose the Barn Door”
This Technical Note discusses the need for Macintosh
device drivers to implement _PBClose.|
M.DV.PollProc TN318
“Serial PollProc”
This Technical Note discusses how to make a PollProc for
your MIDI (Musical Instrument Digital Interface) driver on
the Macintosh PowerBook 140 and 170.|
M.DV.SCSI TN96
“SCSI Bugs”
There are a number of problems in the SCSI Manager; this
note lists the ones we know about, along with an
explanation of what we’re doing about them. Changes made
for the 2/88 release are made to more accurately reflect
the state of the SCSI Manager. System 4.1 and 4.2 are very
similar; one bug was fixed in System 4.2.|
M.DV.SCSITermination TN273
“SCSI Termination”
This Technical Note discusses SCSI termination on the
Macintosh, including the new rules of termination which are
necessary with the advent of the high-speed Macintosh
IIfx. Changes since June 1990: Added a discussion of
Macintosh Quadra SCSI termination.|
M.DV.SerialDriver TN249
“Opening the Serial Driver”
This Technical Note describes the recommended, safe, and
compatible way to open the Macintosh serial driver, and it
explains why you should no longer check for port
availability. Changes since October 1989: Corrected syntax
errors in the sample code.|
M.DV.SerialGPi TN286
“The Serial General-Purpose Input (GPi)”
This Technical Note discusses the latest supported
methods for reading, validating, and configuring the GPi
serial input across all members of the Macintosh family.|
M.DV.SonyDriver TN272
“What Your Sony Drives For You”
This Technical Note discusses the Sony driver control and
status calls that are available on the Macintosh. Changes
since April 1990: Corrected Figure 2, since the Return
Physical Drive Icon (csCode = 21) returns an error message
instead of an icon on the Macintosh Plus.|
M.FL.ActiveFS TN66
“Determining Which File System Is Active”
This Technical Note discusses how to determine which file
system a particular volume is running. Changes since June
1990: Removed text about IDs $0001-$0016 being
AppleShare volumes; other file systems use this range too.|
M.FL.AliasFiles TN315
“Resolving Alias Files Quietly”
ResolveAliasFile always presents the user identity dialog
when mounting remote volumes. This Technical Note offers
an alternative function, ResolveAliasFileMountOption, which
uses the previously undocumented FollowFinderAlias trap to
resolve alias files only if their target is on an already
mounted volume. Also included is an IsAliasFile routine for
identifying alias files.|
M.FL.BlessedFolder TN67 [1/2]
“How to Bless a Folder to Be the System Folder”
This Technical Note describes how to determine which
folder on an HFS volume is the blessed folder, that is, the
folder that contains both the System file and the Finder.
Changes since January 1986: The information about how to
find the "Blessed Folder" has been deleted from this
technical note. The FindFolder function can now be used to
find the "Blessed Folder" and is documented in Inside
Macintosh Volume VI, pages 9-42 to 9-44. This note now |
M.FL.BlessedFolder TN67 [2/2]
includes information about how to bless a folder to the new
system folder.|
M.FL.Caching TN81
“Caching”
This technical note describes disk and File System caching
on the Macintosh, with particular emphasis on the high-
level File System cache. Of the three caches used for file
I/O, this is the one which could have the most impact on
your program. Note: This big File System cache is not
available on 64K ROM machines.|
M.FL.Compatibility TN44
“HFS Compatibility Guidelines”
This technical note tells you how to make sure that your
applications run under the Hierarchical File System (HFS).|
M.FL.CreateInDrop TN165
“Creating Files Inside an AppleShare Drop Folder”
This technical note outlines the steps an application must
take to create files inside AppleShare drop folders.|
M.FL.CreateResFilePMSP TN101
“CreateResFile and the Poor Man’s Search Path”
CreateResFile checks to see if a resource file with a given
name exists, and if it does, returns a dupFNErr (–48) error.
Unfortunately, to do this check, CreateResFile uses a call
that follows the Poor Man’s Search Path (PMSP).|
M.FL.DiskMedic TN134
“Hard Disk Medic & Booting Camp”
The death of a hard disk with megabytes worth of data
can be exceedingly traumatic. This technical note will
describe techniques for recovering a hard disk and the data
that is on it. The discussion will also include some tips on
how to avoid problems.|
M.FL.FCBPBRec TN87
“Error in FCBPBRec”
The declaration of a FCBPBRec is wrong in Inside Macintosh
Volume IV and early versions of MPW. This has been fixed in
MPW 1.0 and newer.|
M.FL.FileShare TN301
“File Sharing and Shared Folders”
This Note describes modifications to the existing File
Manager routines, PBGetCatInfo, PBHGetDirAccess,
PBHSetDirAccess, PBHSetFLock and PBHRstFLock, when used
on volumes prepared by Macintosh System 7 File Sharing.|
M.FL.FullPathName TN238 [1/2]
“Getting a Full Pathname”
This Technical Note describes how to generate a full
pathname, given either a Working Directory ID or a real
vRefNum and a DirID. By using the techniques shown in this
Note, you can find the full pathname from information such
as that returned by Standard File. Changes since June 89:
Added a note on how to check for A/UX. Fixed bug in C
version: BlockMove() parameters were reversed in
pStrcpy(); added range checking to pStrCat(); changed |
M.FL.FullPathName TN238 [2/2]
references from “longint” to “long”. Fixed bug in Pascal and
C versions: Changed fsRtDir to fsRtdirID and made
references to gHaveAUX consistent.|
M.FL.GetVInfo TN157
“Problem with GetVInfo”
The high-level call GetVInfo (and its low-level counterpart
PBGetVInfo) may return inaccurate results for freeBytes
when running HFS.|
M.FL.HFSElucidations TN102
“HFS Elucidations”
This technical note will describe a few problems that can
occur while using HFS. It will also describe ways to avoid
these problems.|
M.FL.HFSRuminations TN77
“HFS Ruminations”
This technical note contains some thoughts concerning HFS.|
M.FL.ioCompletion TN130
“Clearing ioCompletion”|
M.FL.ioNamePtr TN179
“Setting ioNamePtr in File Manager Calls”|
M.FL.LockRange TN186
“Lock, Unlock the Range”
This Technical Note discusses the _PBLockRange and
_PBUnlockRange routines; how they act on local and shared
volumes and why you should not set the ioPosMode field to
fsFromLEOF in the parameter block for those routines when
accessing a file on an AppleShare volume. Changes since
April 1988: Added information on how _PBLockRange and
_PBUnlockRange really work.|
M.FL.MixingHFSandC TN246
“Mixing HFS and C File I/O”
This Technical Note discusses the problem of mixing calls
to the Macintosh file system with calls to MPW C library file
I/O routines.|
M.FL.NoDataInResFork TN74
“Don’t Use the Resource Fork for Data”|
M.FL.NullInFilename TN107 [1/2]
“Nulls in Filenames”|
M.FL.PBHSetVol
“Why PBHSetVol is Dangerous”
This note explains PBHSetVol, and why its use is not
recommended.|
M.FL.PBSharePBUnshare TN305
“PBShare, PBUnshare, and PBGetUGEntry”
This Technical Note documents three new File Manager
routines available on shared local volumes. The Pascal glue
code, C glue code, and the assembler equates and macros
for the calls are included in this note. Changes since October
1991: Corrected ioObjType input values for PBGetUGEntry.|
M.FL.SearchingVols TN68 [1/2]
“Searching Volumes—Solutions and Problems”
This Technical Note discusses the PBCatSearch function and
tells why it should be used. It also provides simple
algorithms for searching both MFS and HFS volumes and
discusses the problems with indexed search routines.
Changes since October 1988: Includes information on
PBCatSearch and notes the problems with indexed search
routines. Source code examples have been added and
revised. Thanks to John Norstad at Northwestern University |
M.FL.SearchingVols TN68 [2/2]
for pointing out some of the shortcomings of the indexed
search routines. Thanks to the System 7 engineering team
for adding PBCatSearch.|
M.FL.SFCustomize TN47
“Customizing Standard File”
This note contains an example program that demonstrates
how SFPGetFile can be customized using the dialog hook and
file filter functions.|
M.FL.SFTips TN80
“Standard File Tips”
This Technical Note discusses a new feature of the System
Software 7.0 Disk Initialization Package—bad block sparing.|
M.FL.Tags TN94
“Tags”
Apple has decided to eliminate support for file-system
tags on its future products; this technical note explains this
decision.|
M.FL.VCBandDriveNum TN106
“The Real Story: VCBs and Drive Numbers”|
M.FL.Volunes
“Available Volumes”
Standard File lets the user select one file from any
available volume; it is sometimes necessary for an
application to find which volumes are present. This
technical note gives the proper method of accomplishing
this.|
M.HW.21rgbSpec
“Macintosh 21" Color Display Technical Specifications”
This Technical Note presents the technical specifications
for the Macintosh 21" Color Display with the objective of
allowing display board and accelerator board
manufacturers to ensure compatibility with this monitor.|
M.HW.ADB TN206 [1/2]
“Space Aliens Ate My Mouse (ADB–The Untold Story)”
This Technical Note explains how the Apple Desktop Bus
(ADB) works on the Macintosh. This Note covers the boot
process, driver installation, ADB Manager run-time
behavior, use of ADB Manager calls, and answers commonly
asked questions. Changes since February 1990: Added
description of the boot process to include detail on how the
ADBS resource gets called by the System, added detail to 2 |
M.HW.ADB TN206 [2/2]
of the answers in the Q&A section, and added sample
completion routines for the ADBOp function.|
M.HW.ADBReInit TN143
“Don’t Call ADBReInit on the SE with System 4.1”|
M.HW.Boardkits TN148
“Suppliers for Macintosh II Board Developers”
This note lists suppliers of parts that may be helpful for
Macintosh II board developers. If your company supplies
these parts, but is not listed here, please send a message to
us (at the address on Technical Note #0) and we’ll include
you in the next revision of this technical note.|
M.HW.BreakCTSEvent TN56
“Break/CTS Device Driver Event Structure”
This technical note documents the event record
information that gets passed when the serial driver posts
an event for a break/CTS status change.|
M.HW.ByteSmearing TN282
“Smear Tactics”
This Technical Note discusses a feature of the current
Macintosh hardware which will not be supported in the
future. Macintosh hardware developers and driver writers
should be aware of this limitation as it affects current and
future products.|
M.HW.Cache TN261 [1/2]
“Cache As Cache Can”
This Technical Note documents cache behavior,
manipulation of processor caches, and manipulation of
external caches on Macintosh models that incorporate
these features. It also describes how system software uses
a memory management unit (when available) to implement
special caching options. Changes since October 1991:
Described use of AppleTalk Transition Queue event,
ATTransSpeedChange, when altering the 68040 cache state |
M.HW.Cache TN261 [2/2]
on the fly. This call must be issued so that LocalTalk can
reevaluate its timers. Otherwise LocalTalk becomes
disabled.|
M.HW.CMOSonLCPDS TN291
“CMOS On Macintosh LC PDS”
This Technical Note provides PDS card developers with
some important information about making PDS cards for the
Macintosh LC.|
M.HW.ColorMonitors TN144
“Macintosh Color Monitor Connections”
This Technical Note describes how to connect the
Macintosh II Video Card, Macintosh IIci built-in video, and
Macintosh LC video to third-party monitors. Changes since
February 1990: Added pinout description for the Macintosh
LC external video connector and a Macintosh LC to VGA
monitor adapter cable. Standardized signal names
throughout Note.|
M.HW.MacIIfx TN271
“Macintosh IIfx: The Inside Story”
This Technical Note addresses various areas of potential
incompatibilities with the Macintosh IIfx and current
software applications and provides information about some
of Apple’s compatibility software updates.|
M.HW.MacPlusPinouts TN65
“Macintosh Plus Pinouts”
This note gives pinout descriptions for some of the
Macintosh Plus ports and Macintosh Plus cables that are
different than the Macintosh 128K and 512K.|
M.HW.MathCoProc TN235 [1/2]
“Cooperating with the Coprocessor”
The use of the 68881 or 68882 coprocessor is usually
handled by the SANE package or by a development system’s
libraries. Some developers may wish to use the coprocessor
during special circumstances, such as at interrupt level or
installing their own hardware floating point exception
handlers. In these two situations, there are special
requirements that must be met. These requirements will
require floating–point assembly code and are discussed in |
M.HW.MathCoProc TN235 [2/2]
this Technical Note. Changes since June 1989: Noted that
the new Sound Manager no longer uses floating-point
numbers at interrupt time.|
M.HW.MemConfigs [1/2]
“Macintosh Memory Configurations”
This Technical Note describes the different possible
memory configurations of all models of the Macintosh
family that use Single In-line Memory Modules (SIMMs) as
well as the non-SIMM memory upgrade options of the
Macintosh Portable and Macintosh Classic. (Special thanks
to Brian Howard for the Macintosh Plus and original SE
drawings, and for the inspiration for the other drawings.)
This Note also describes the obstacles to using four megabit |
M.HW.MemConfigs [2/2]
(Mbit) DRAM SIMMs in Apple Macintosh products to date.
Changes since November 1991: Corrected error on the RAM
configuration chart (page 2); additional information added
to Quadra 900 section (page 15).|
M.HW.NuBusDesign TN234
“NuBus Physical Designs—Beware”
This Technical Note discusses the possible problems you
might run into while designing a NuBus™ card. It covers
some of the specifications which, if not followed, will have
problems with current Macintosh machines, and possibly
future machines. Changes since June 1989: Added warnings
about the no component area and full-size NuBus cards.|
M.HW.NuBusLatency TN221
“NuBus Interrupt Latency (I Was a Teenage DMA Junkie)”
This Technical Note discusses NuBus™ interrupt latency,
and why, contrary to popular belief, the Macintosh is not a
real-time machine. Changes since December 1988: Changed
sample code to defer cursor rendering to a deferred task
rather than a “pseudo-VBL” task.|
M.HW.NuBusPower TN260
“NuBus Power Allocation”
This Technical Note discusses a very real power limit for
NuBus™ expansion cards and warns developers to heed this
limit lest they want users trashing their machines by
overextending the Macintosh power supply.|
M.HW.Pinouts TN10
“Pinouts”
This note gives pinouts for Macintosh ports, cables, and
other products.|
M.HW.PlusROMVers TN139
“Macintosh Plus ROM Versions”
The Technical Note describes the unique aspects of the
Macintosh Portable Processor Direct Slot (PDS), including the
severe limitations in its use. Changes since October 1989:
Corrected PDS pin and signal descriptions in Tables 2 and 3.|
M.HW.PortableROMExp TN255
“Macintosh Portable ROM Expansion”
This Technical Note explains the practice of and theory
behind compatible use of the expansion ROM in the
Macintosh Portable.|
M.HW.PowerbookSerial
“PowerBook Miscellanea (Cold Serial in the Morning)”
This Technical Note describes some nonintuitive
ramifications of working with a battery-powered computer. |
M.HW.PowerbookSleep
“Little PowerBook in Slumberland”
The purpose of this Note is to describe the ramifications of
resting, sleeping, and power-saving modes in the
PowerBook family of Macintosh computers, how they may
affect your application, and the appropriate ways to defeat
them, when appropriate. It also describes some
nonintuitive ramifications of working with a battery-
powered computer. |
M.HW.psltResource TN308
“What Is a 'pslt' resource?”
One of the new resources that can be very helpful to some
NuBus™ developers is the 'pslt' resource. The only problem
is that the resource is not documented. This Technical Note
takes care of the documentation problem.|
M.HW.QuadraFPU TN317
“FPU Operations on Macintosh Quadra Computers”
This technical note discusses floating-point unit (FPU)
instruction support on Macintosh Quadra platforms with
special emphasis given to compatibility and performance
concerns.|
M.HW.SE30 TN230
“Pertinent Information About the Macintosh SE/30”
This Technical Note discusses the Macintosh SE/30, items
of interest to developers, and sources for further
information. Changes since April 1989: Corrected an error in
the addresses of the video display buffers.|
M.HW.Sense Lines
“Sense Lines”
Ever wonder how to set up an Apple video card or an on-
board video to support various size monitors? Well, this
Technical Note will tell you everything you need to know
about what monitors are supported and how.|
M.HW.SlotInterruptPrior TN257
“Slot Interrupt Prio-Technics”
This Technical Note describes the way interrupt priorities
are scheduled, which corrects the description of slot
interrupt queue priorities in the Device Manager chapter of
Inside Macintosh, Volume V-426.|
M.HW.SpeedyMathCoProc TN236
“Speedy the Math Coprocessor”
This Technical Note presents an overview of the 68881 and
68882 math coprocessors, and it covers general information
about the chips as well as how using the chips directly can
help speed your math–intensive code.|
M.HW.sResources TN288
“NuBus Block Transfer Mode sResource Entries”
This Technical Note describes the sResource entries needed
in a declaration ROM to inform NuBus™ masters when a
board is capable of receiving or sending block transfers.|
M.IA.SendToSelf [1/2]
“Getting in Touch With Yourself Via the Apple Event Manager”
If an application suspends handling of an Apple event
which it sent to itself, the Apple Event Manager will return
errAETimeout as the result of the AESend call. The event was
still sent correctly, however, and the answer (if any) should
appear later in the reply descriptor. However, a problem in
system software versions 7.0 and 7.0.1 prevents
applications from getting the reply data.
Since MacApp 3.0 suspends handling of the events it |
M.IA.SendToSelf [2/2]
receives, the information in this note is relevant to
applications developed with that framework.|
M.IM.32BitQD TN275
“32-Bit QuickDraw: Version 1.2 Features”
This Technical Note describes the changes and
enhancements to 32-Bit QuickDraw from version 1.0 (as
shipped on the original Color Disk) to version 1.2, which
ships with System Software 6.0.5 and later. This Note
assumes familiarity with Inside Macintosh, Volume V, Color
QuickDraw, and 32-Bit QuickDraw release notes.|
M.IM.AddPrintDialog TN95
“How To Add Items to the Print Dialogs”
This technical note discusses how to add your own items
to the Printing Manager’s dialogs.|
M.IM.AppPictComments TN181
“Every Picture [Comment] Tells Its Story, Don’t It?”
Application-specific picture comment conflict and
registration is addressed, along with Developer Technical
Support’s method for solving it.|
M.IM.BitMatToRegion TN193
“So Many Bitmaps, So Little Time”
This Technical Note discusses the routine BitMapToRegion,
which converts a bitmap to a region, and is available in the
32-Bit QuickDraw INIT and from Apple Software Licensing.
Changes since October 1989: Added trap definitions for
developers using the 32-Bit QuickDraw version of this
routine without the correct MPW include file.|
M.IM.ColorCopyBits TN163
“Adding Color With CopyBits”
Inside Macintosh Volume V states that the foreground and
background colors are applied to an image during a CopyBits
or CopyMask call. Accidental use of this feature can create
bizarre coloring effects. This note explains what happens,
how to avoid problems, and how to use it.|
M.IM.ColorCursor TN244
“A Leading Cause of Color Cursor Cursing”
Working with color cursors you create from scratch can
cause headaches. This Technical Note may help a bit.
Changes since June 1989: Added a warning about purgeable
'clut' resources.|
M.IM.ColorPrinting TN73
“Color Printing”
This discusses color printing in a Macintosh application.|
M.IM.DevIndPrinting TN122
“Device-Independent Printing”
This technical note discusses a method for downloading
PostScript dictionaries automatically using the LaserWriter
driver. It will also provide the format and use of the
PREC(103) resource. It will also describe some problems
with the now obsolete PREC(201) resource. If you are using
PostScript dictionaries, or either of these resources, you
should definitely read this note.|
M.IM.DocNames TN149
“Document Names and the Printing Manager”
Our compatibility testing for LaserShare (Apple’s
LaserWriter spooler) has turned up a number of applications
that do not provide the Printing Manager with a document
name; although this feature is not required, it is nice for
users that share printers.|
M.IM.DrawingIcons TN55
“Drawing Icons”
Using resources of type ICON allows drawing of icons in
srcOr mode. Using resources of type ICN# allows for more
variety when drawing icons.|
M.IM.Feeder TN295
“Feeder Fodder”
This Technical Note discusses the new Feeder button
available in the 6.1, and 7.0 versions of the LaserWriter
driver. This Feeder button mechanism allows developers to
insert code into the LaserWriter driver to support a sheet
feeder connected to a LaserWriter. This Note provides a
description of the button, as well as information required to
implement one.|
M.IM.FontFamilies TN245 [1/2]
“Font Family Numbers”
This Technical Note discusses the range of numbers
available for identifying font families, how they are
allocated among script systems, and what numbers should
be used for fonts that were designed to be used as a tool in
an application. Changes since August 1990: Apple Computer
no longer registers font family ID numbers; this note has
been altered to reflect the change in policy. Also, the |
M.IM.FontFamilies TN245 [2/2]
relationship of outline fonts to font families is discussed
briefly.|
M.IM.FontIcons TN217
“Where Have My Font Icons Gone?”
This Technical Note discusses why you should not link
directly from your font files to the font icons provided by
LaserWriter driver 5.2 and later. Changes since December
1988: Added some useful tips and described the method
required to bundle an icon to your font file.|
M.IM.FontNames TN191
“Font Names”
This note recommends the use of font names rather than
font numbers.|
M.IM.GCQDCopybits TN289
“Deaccelerated _CopyBits & 8•24 GC QuickDraw”
This Technical Note discusses conditions that may cause
_CopyBits to slow down when QuickDraw acceleration is on
via the Apple 8•24 GC Display Card.|
M.IM.IconDrawing TN306
“Drawing Icons the System 7 Way”
This Technical Note describes how to utilize the built-in
System 7 icon drawing utility. Use this information to better
conform to the System 7.0 visual human interface.|
M.IM.ImageWriter TN124
“Using Low-Level Printing Calls With AppleTalk ImageWriters”|
M.IM.ImgWrtrPaper TN33
“ImageWriter II Paper Motion”
The purpose of this technical note is to answer the many
questions asked about why the paper moves the way it
does on the ImageWriter II.|
M.IM.IsASpooler
“Am I Talking To A Spooler?”|
M.IM.LargePict TN154
“Displaying Large PICT Files”
Now that we have scanners and other massive-picture
producing types of applications, there is a need to address
the problem of how to display a PICT format object that is
bigger than a current PICT resource is allowed to be. Note
that this technique applies equally well to version 1 and
version 2 (word-opcode) pictures as produced by the
Macintosh II.|
M.IM.LaserPrep TN152 [1/2]
Note #125, Effect of Spool-A-Page/Print-A-Page on Shared
Printers, already thoroughly covers this topic.|
M.IM.LaserPrep TN152 [1/2]
“Using Laser Prep Routines”
This Technical Note discusses techniques for optimizing
code for printing on the LaserWriter. Changes since March
1988: Updated the “Printable Paper Area” and “Memory
Considerations” sections as well as the printer IDs, moved
the error messages from the end of the Note to Technical
Note #161, A Printing Loop That Cares…, and removed the
“Spool-A-Page/Print-A-Page” section because Technical |
M.IM.LaserWriterROM TN123
“Bugs in LaserWriter ROMs”
These are LaserWriter bugs that your users may encounter
when printing from any Macintosh application. These are for
your information; you cannot code around them. The bugs
described here occur in the 1.0 and 2.0 LaserWriter ROMs.|
M.IM.OffscreenBitMap TN41
“Drawing Into an Off-Screen Bitmap”
This Technical Note provides an example of creating an
off-screen bitmap, drawing to it, and then copying from it
to the screen. Changes since April 1990: Clarified the
section on window updates with off-screen bitmaps to
explicitly limit these updates to your own windows.|
M.IM.OldColors TN259
“Old Style Colors”
This Technical Note covers limitations of the original
Macintosh color model (eight-color) which Inside
Macintosh, Volume I-173, QuickDraw does not document.
Changes since October 1989: Added definitions of the old-
style constants.|
M.IM.PackBits TN171 [1/2]
Changes since November 1990: A warning has been added
about the handling of a flag-counter byte value of -128.|
M.IM.PackBits TN171 [1/2]
“Things You Wanted to Know About _PackBits* *But Were Afraid to Ask”
This Technical Note describes the format of data packed by
the Toolbox utility _PackBits and documents a change to the
srcBytes limit and possible worst case. Although you can
simply unpack this data using _UnPackBits, Apple provides
this information for the terminally curious and for those
manipulating MacPaint® documents or PICT files by hand.
Warning: This format information is subject to change. |
M.IM.PaletteManagerChanges TN211
“Palette Manager Changes in System 6.0.2”
This Technical Note describes the changes and
enhancements to the Palette Manager in System Software
6.0.2 and future versions.|
M.IM.PictAndPrinting TN297
“Pictures and the Printing Manager”
This technical note described some problems and features
of using Quickdraw pictures with the Printing Manager. In
general, if your application prints Quickdraw pictures, you
should read this note.|
M.IM.PictClipRegions TN59
“Pictures and Clip Regions”
This note describes a problem that affects creation of
QuickDraw pictures.|
M.IM.PictureOpcodes TN21
“QuickDraw’s Internal Picture Definition”
This technical note describes the internal format of the
QuickDraw picture data structure. This revision corrects
some errors in the opcode descriptions and provides some
examples.|
M.IM.pIdleProc TN294
“Me And My pIdle Proc (or how to let users know what’s going on during print time…)”
This Technical Note discusses how to defensively program
a pIdle procedure to work with the majority of print drivers
in existence today, and how to install it at print time.|
M.IM.PosIndPS TN183
“Position-Independent PostScript”
This technical note describes a method for inserting
position-independent PostScript into QuickDraw pictures.|
M.IM.PRGeneral TN128
“PrGeneral”
The Printing Manager architecture has been expanded to
include a new procedure called PrGeneral. The features
described here are advanced, special-purpose features,
intended to solve specific problems for those applications
that need them. The calls to determine printer resolution
introduce a good deal of complexity into the application’s
code, and should be used only when necessary.|
M.IM.PrGeneralBug TN173
“PrGeneral Bug”
This technical note documents a bug in the implementation
of the PrGeneral procedure in the LaserWriter driver version
4.0. The bug has to do with the format of the information
returned by the GetRslData opcode. This technical note will
also describe a workaround for the problem.|
M.IM.PrincipiaOffScreen TN120 [1/3]
“Principia Off-Screen Graphics Environments”
Using Color QuickDraw to draw off screen is a common
requirement of applications and other kinds of programs
that run on the Macintosh. This Note discusses what Color
QuickDraw needs in a graphics environment and how to
create one for off-screen drawing. A brief discussion of
GWorlds, which are off-screen graphics environments that
are set up by the system, is given to help you decide
whether to use them or the do-it-yourself techniques |
M.IM.PrincipiaOffScreen TN120 [2/3]
described in this Note for setting up an off-screen graphics
environment. The author’s intent is to provide concepts and
routines for creating an off-screen graphics environment,
and also to explain why existing routines for off-screen
drawing act as they do. Many, many thanks go to Guillermo
Ortiz, Konstantin Othmer, Bruce Leak, and Jon Zap for all
their expertise on this subject, Rich Collyer, Rick Blair, and
Jim Friedlander for paving the way, and especially to all
people who inspired this update by asking great off-screen |
M.IM.PrincipiaOffScreen TN120 [3/3]
drawing questions. Changes since October 1991: A very
embarrassing bug was found in CreateOffScreen and
UpdateOffScreen. If you try to create a 16- or 32-bit off-
screen graphics environment, you’ll just get a paramErr. It
won’t do that now.|
M.IM.PrintLoop TN161 [1/2]
“A Printing Loop That Cares…”
This Technical Note discusses opening and closing the
Printing Manager with calls to _PrOpen and _PrClose as well
as how to handle errors at print time. Changes since
October 1989: Added the section on error checking,
incorporating the error code descriptions formerly found in
Technical Note #72, Optimizing For The LaserWriter—
Techniques and an updated version of the information |
M.IM.PrintLoop TN161 [2/2]
formerly found in Technical Note #118, How To Check and
Handle Printing Errors.|
M.IM.PrJobMerge TN311
“Fun With PrJobMerge”
This Technical Note discusses some interesting behavior
you’ll encounter while using PrJobMerge with the 7.0 and
7.1 versions of the LaserWriter driver. Changes since March
1992: Corrected the Vulcan-like “THPring” typo to correctly
read “THPrint,” and changed a comment in the code to mean
what I originally meant.|
M.IM.SetLineWidth TN175
“SetLineWidth Revealed”
This technical note describes the internal implementation,
and correct method of using, the SetLineWidth Picture
Comment.|
M.IM.SmallIcons TN252
“Plotting Small Icons”
This Technical Note discusses the 'SICN' resource format
and how to plot one in a GrafPort. Changes since August
1989: Corrected errors in the Pascal code and spruced up
the rest.|
M.IM.Spooler TN133
“The Effect of Spool-a-page/Print-a-page on Shared Printers”
This technical note discusses drawbacks of using the
spool-a-page/ print-a-page method of printing.|
M.IM.TimeSpaceCopyBits TN277
“Of Time and Space and _CopyBits”
This Technical Note describes the various factors that can
influence the speed of _CopyBits so that developers can set
up conditions to achieve the best performance for the
particular situation.|
M.ME.GrowZoneA5 TN136
“Register A5 Within GrowZone Functions”|
M.ME.HandleVSPointer TN155
“Handles and Pointers—Identity Crisis”
A handle is a handle and a pointer is a pointer. Applications
should avoid embedding non-relocatable objects (that the
system assumes will never move) in handles.|
M.ME.MaxApplZone&MoveHHiASM TN103
“Using MaxApplZone and MoveHHi from Assembly Language”
When calling MaxApplZone and MoveHHi from assembly
language, be sure to get the correct code.|
M.ME.MFandSetGrowZone TN233
“MultiFinder and _SetGrowZone”
MultiFinder patches the _SetGrowZone trap, and this patch
can cause your program to crash if you attempt to save and
restore the grow zone procedure.|
M.ME.MoreMasters TN53
“MoreMasters Revisited”
MoreMasters should be called from CODE segment 1. The
number of master pointers that a program needs can be
determined empirically. MoreMasters can be tricked into
creating the exact number of master pointers desired.|
M.ME.MoveHHiSetResPurge TN111
“MoveHHi and SetResPurge”
This Technical Note discusses the use of the purgeProc
field of an application’s heap zone.|
M.ME.StripAddress TN213
“_StripAddress: The Untold Story”
Inside Macintosh, Volume V, The OS Utilities, incorrectly
documents the _StripAddress trap; this Technical Note
correctly documents the trap and gives guidelines for its
use. Changes since April 1990: Added a discussion of why
the _StripAddress trap should be used under certain
circumstances when patching traps.|
M.ME.SwapMMUMode TN228
“Use Care When Swapping MMU Mode”
This Technical Note describes how to avoid crashing when
swapping into 32-bit mode on a Macintosh II. Thanks to Jim
Berry and Dan Weston for pointing this out. Changes since
April 1989: Added a reference to Technical Note #213,
_StripAddress: The Untold Story.|
M.ME.SysError33 TN151
“System Error 33, “zcbFree has gone negative””
System 3.2 introduced a new system error, ID=33,
generated by the Memory Manager when it notices that a
heap had been corrupted in a certain way. This error is
listed in the file “SysErr.a” as “negZcbFreeErr”.|
M.ME.VMMemoryMapping TN285 [1/2]
“Coping With VM and Memory Mappings”
The purpose of this Note is twofold. First, it describes in
detail how to use the GetPhysical routine. This routine is
critical to the support of alternate bus masters on certain
machines without Virtual Memory (VM) and all machines
with VM. Included is an ancillary discussion of several
closely-related VM routines. Second, it reiterates a number
of issues important to VM compatibility and elucidates
some of the deeper VM issues of which specialized |
M.ME.VMMemoryMapping TN285 [2/2]
developers should be aware. Compatibility issues are
especially important for developers of SCSI drivers, NuBus™
master hardware, and code which runs at interrupt time.
Changes since February 1991: This update incorporates new
issues which have come up during System 7.0 beta testing,
and it also attempts to clarify some issues which have
proven to be particularly troublesome or widely
misunderstood.|
M.NW.afpMiscUserCommand
“Arbitrating the Use of afpMiscUserCommand and afpMiscUse rWrite”
This Technical Note discusses a scheme for arbitrating the
use of the afpMiscUserCommand and afpMiscUserWrite
AppleTalk Filing Protocol (AFP) commands.|
M.NW.AppleShareApp TN167
“AppleShare Foreground Applications”
This technical note outlines the requirements and
restrictions of an AppleShare foreground application. This
information pertains to AppleShare versions 1.1 and newer.|
M.NW.AppleShareApps TN116
“AppleShare-able Applications and the Resource Manager”
Normally, applications on an AppleShare server volume
cannot be executed by more than one user at a time. This
technical note explains why, and tells how you can enable
your application to be shared.|
M.NW.AppleShareLimits TN216
“AppleShare 1.1 and 2.0 Limits”
This Technical Note describes some machine-dependent
limits of current versions of AppleShare and AppleShare
servers.|
M.NW.AppleShareOldFinder TN114
“AppleShare and Old Finders”
Technical Note #121 announced that we would be moving
to a simplified AppleTalk Manager interface. That interface
is available now, as part of MPW 2.0 and newer.
Documentation for this new interface is contained in the
AppleTalk Manager chapter of Inside Macintosh Volume V.
This technical note contains some of the preliminary
documentation for this interface and some useful points
about information about it, and AppleTalk in general.|
M.NW.AppleTalk2 TN312 [1/3]
“What’s New With AppleTalk Phase 2”
This Technical Note discusses the new features of
AppleTalk available for System 7.0 and AppleTalk version 57.
The new features include support for the Flagship Naming
Service and the AppleTalk Multiple Node Architecture. We
present the Multiple Node Architecture and discuss the new
calls available to applications. We also discuss the impact of
the new architecture on AppleTalk Device files (ADEVs), and
the changes necessary to make them multinode compatible. |
M.NW.AppleTalk2 TN312 [2/3]
Finally, we discuss the Flagship Naming Service, along with
the new AppleTalk Transitions. The new transitions notify a
process of changes to the Flagship name, network cable
range, router status, and processor speed. Changes since
February 1992: Provided additional detail on the
implementation to the AAddNode, ADelNode, and
AGetNodeRef calls including parameter offsets. Added
sample code to check for existence of LAP Manager. Added
Pascal source to determine whether the LAP Manager |
M.NW.AppleTalk2 TN312 [3/3]
exists. Added warning to check the result from the
LAPAddATQ function since the System 7 Tuner extension may
not load AppleTalk resources. Corrected typographical
errors. Added information on the discussion on the Speed
Change AppleTalk Transition event. Added discussion
regarding the 'atkv' gestalt selector. Sidebars highlight
changes or additions to this document.|
M.NW.AppleTalk2Mac TN250
“AppleTalk Phase 2 on the Macintosh”
This Technical Note discusses the new features and calls
available with AppleTalk Phase 2. Changes since August
1989: Incorporated the ClosePrep and CancelClosePrep
transitions and the new control calls to the .MPP driver.|
M.NW.AppleTalkTimer TN270
“AppleTalk Timers Explained”
This Technical Note explains how to effectively use timers
and retry mechanisms of the various AppleTalk protocols to
achieve maximum performance on an internet.|
M.NW.ASPvsAFP TN195
“ASP and AFP Description Discrepancies”
The descriptions of the AppleTalk Session Protocol and
AppleTalk Filing Protocol functions within the body of the
AppleTalk Manager chapter are incorrect and conflict with
those in the Summary of the AppleTalk Manager. This
technical note resolves the discrepancy.|
M.NW.BorrowedAFP
“Polite Use of Borrowed AFP Sessions”
This Technical Note shows how to borrow the session
reference number of an AFP volume mounted by the
Macintosh File System. It also shows how to retrieve other
information from the file system for a mounted AFP volume.|
M.NW.DAMExtensions TN316
“Data Access Extensions”
This Technical Note discusses coding data access
extensions that provide an interface between the Data
Access Manager and remote data sources. Each of the
functions that a data access extension must implement is
described.|
M.NW.HLAppleTalk TN121
“Using the High-Level AppleTalk Routines”
What you need to do in order to use high-level AppleTalk
routines depends upon the interfaces you are using. Some
differences are outlined below.|
M.NW.Internets TN9
“Will Your AppleTalk Application Support Internets?”
This Technical Note discusses how AppleTalk applications
should work across internets, groups of interconnected
AppleTalk networks. It explains the differences between
life on a single AppleTalk network and life on an internet.
Changes since March 1988: Removed the section on
AppleTalk retry timers, as it is no longer accurate; see
Technical Note #270, AppleTalk Timers Explained, for more
information on retry timers.|
M.NW.KillNBP TN199
“KillNBP Clarification”
This technical note clears up some confusion regarding the
Name Binding Protocol KillNBP function.|
M.NW.NoNetEvents TN142
“Avoid Use of Network Events”
Future System software enhancements will not support
network events. This note gives hints on weaning your
application from the use of network events.|
M.NW.OpenAppleTalk TN224
“Opening AppleTalk”
This Technical Note describes the most effective, safe, and
compatible way to open the AppleTalk drivers, .MPP and
.ATP.|
M.NW.RegisterName TN225
“Using RegisterName”
The verify flag indicator byte (verifyFlag) of the AppleTalk
RegisterName function should always be set TRUE in
published code.|
M.NW.Servers TN20
“Data Servers on AppleTalk”
Many applications could benefit from the ability to share
common data between several Macintoshes, without
requiring a file server. This technical note discusses one
technique for managing this AppleTalk communication.|
M.NW.SourceRouting TN309
“Routes From the Source”
This Technical Note discusses source routing and its
possible implementation in token ring link layers.|
M.NW.Spooler
“The Effect of Spool-a-page/Print-a-page on Shared Printers”
This technical note discusses drawbacks of using the
spool-a-page/ print-a-page method of printing.|
M.OS.CommandShiftKeys
“Command-Shift-Number Keys”
This Technical Note discusses INIT evils, the foremost of
which deals with clearing DeskHook and DragHook at INIT
time. Changes since August 1989: Added warning about
clearing DragHook.|
M.OS.OmegaSANE TN314
“OmegaSANE”
System 7.0.1 introduced a new version of SANE (the
Standard Apple Numerics Environment) known as
OmegaSANE. This Note discusses the features of OmegaSANE
and the associated compatibility risks. This note covers:
Topics • OmegaSANE features, including: • Correctly rounded
binary ´ decimal conversions; • Faster transcendental
functions; • Backpatching of Pack 4 SANE traps for faster
package entry; • Compatibility risks due to backpatching.|
M.OS.SegmentLoader TN220
“Segment Loader Limitations”
This Technical Note discusses the jump table limitations of
the Segment Loader and suggests some ways to work
around these limitations to minimize the problem. These
limitations are most evident to developers using MacApp
and other object-oriented environments.
Overview|
M.OV.32BitClean TN212
“The Joy Of Being 32-Bit Clean”
What to do (and what not to do) to make your programs
run under A/UX and future versions of the Macintosh
System Software. Changes since October 1988: Added
information on writing 32-bit clean CDEFs, and updated A/UX
information to reflect the capabilities of A/UX 1.1.|
M.OV.A5 TN208
“Setting and Restoring A5”
The routines SetupA5 and RestoreA5 do not work properly
when used with some optimizing Pascal and C compilers.
Two new routines, SetCurrentA5 and SetA5, are available in
MPW 3.0, and they should work with any compiler. Changes
since December 1988: Removed the sample code and
expanded the explanation of these two routines. The
sample code in Technical Note #180 reflects these new A5
routines.|
M.OV.A5TrapPatching TN25
“Don’t Depend on Register A5 Within Trap Patches”
Future software may allow desk accessories to have their
own globals by changing register A5 when the accessory is
entered and exited. This can cause problems for
applications that patch traps without following certain
rules.|
M.OV.ChkForFunction TN156
“Checking for Specific Functionality”
This technical note explains how to check at run time to
see if specific functionality, such as the “new” TextEdit, is
present.|
M.OV.Chooser TN197
“Chooser Enhancements”
Beginning with version 3.2, the Chooser has been
enhanced to provide support for additional controls.|
M.OV.Compatibility TN2
“Compatibility Guidelines”
While creating or revising any program for the Macintosh,
you should be aware of the most common reasons why
programs fail on various versions of the Macintosh. This
note will detail some common failure modes, why they
occur, and how to avoid them.|
M.OV.Debugging TN7
“Debugging Tips”
This presents a few tips which may make your debugging
easier.|
M.OV.DesktopFile TN210
“The Desktop file’s Outer Limits”
This Technical Note discusses the new 'fwst' resource
added to some Control Panels under System 7.0 and later.|
M.OV.GestaltSysenvirons TN129
“_Gestalt & _SysEnvirons—a Never-Ending Story”
This Technical Note discusses the latest changes and
enhancements in the _Gestalt and _SysEnvirons calls.
Changes since October 1991: Clarified information on
Gestalt information for Macintosh PowerBook computers
and added information on the Macintosh LC II and the
gestaltHardwareAttr selector.|
M.OV.GetInfoMasks TN147
“Finder Notes: “Get Info” Default & Icon Masks”
The Finder has undergone a couple of changes you should
keep in mind when creating the “bundle” information for
your application.|
M.OV.LargeScreens TN100
“Compatibility with Large-Screen Displays”
A number of third-party developers have announced
large-screen display peripherals for Macintosh. One of
them, Radius Inc., has issued a set of guidelines for
developers who wish to remain compatible with their
Radius FPD; unfortunately, one of their recommendations
can cause system crashes. This note suggests a more
correct approach.|
M.OV.ManagerAbuse TN203
“Don’t Abuse the Managers”
When using the various pieces of the Macintosh operating
system there is a temptation to try to stretch the built-in
Managers too far. Developers should be aware of the
intended purpose of the various Managers and beware of
using them for things that they were not designed to
handle. If extended beyond their design goals, they will
become slow and unwieldy.|
M.OV.Multifinder TN205
“MultiFinder Revisited: The 6.0 System Release”
This Technical Note describes several new features found
in MultiFinder 6.0 and answers a few more commonly-asked
questions. Changes since December 1989: Added a warning
to the section on childDiedEvents about distribution of
MultiFinder 6.1bx.|
M.OV.PurgeNComactDebug TN51
“Debugging With PurgeMem and CompactMem”|
M.OV.StationaryPads TN115
“Application Configuration with Stationery Pads”
With the introduction of AppleShare (Apple’s file server)
there are restrictions on self-modification of application
resource files and the placement of configuration files. This
note describes one way to get around the necessity for
configuration files.|
M.OV.Vers TN189
“Version Territory”
This Technical Note describes the 'vers' resource supported
by Finder 6.1 and later. Changes since April 1989: Changed
MPW C code to reflect the changes in MPW C 3.1.|
M.PS.DialogsInDAs TN5
“Using Modeless Dialogs from Desk Accessories”|
M.PS.SubLaunching TN126 [1/2]
“Sub(Launching) from a High-Level Language”
Note: Developer Technical Support takes the view that
launching and sublaunching are features which are best
avoided for compatibility (and other) reasons, but we want
to make sure that when it is absolutely necessary to
implement it, it is done in the safest possible way. This
Technical Note discusses the “safest” method of calling
_Launch from a high-level language that supports inline
assembly language with the option of launching or |
M.PS.SubLaunching TN126 [2/2]
sublaunching another application. Changes since August
1988: Incorporated Technical Note #52 on calling _Launch
from a high-level language, changed the example to offer a
choice between launching or sublaunching, added a
discussion of the _Launch trap under MultiFinder, and
updated the MPW C code to include inline assembly
language.|
M.PT.ASMInitGraf TN223
“Assembly Language Use of _InitGraf with MPW”
The Macintosh Programmer’s Workshop (MPW) requires
assembly-language programmers to allocate their own
QuickDraw global variables rather than use the default
record as indicated in Inside Macintosh.|
M.PT.AUXComapt TN229
“A/UX 2.0 Compatibility Guidelines”
This Technical Note describes details of the A/UX 2.0
implementation of which developers should be aware, so
that their Macintosh applications also work properly under
A/UX. Changes since April 1989: This Note formerly described
A/UX 1.1 Toolbox Bugs, but has been completely rewritten to
cover A/UX 2.0 compatibility. Changes since June 1990:
Changes due to A/UX 2.0.1, also added some new important
issues.|
M.PT.AUXSysCalls
“A/UX System Calls From Macintosh Software”
This Technical Note discusses how to make A/UX system
calls from applications developed in the Macintosh
environment. This is useful to anyone porting an existing
Macintosh driver or application to work on A/UX as well.
Changes since August 1990: Added information about how to
make use of fork() system calls under MultiFinder, as well
as how various A/UX system calls behave under the
MultiFinder emulation mode.|
M.PT.CFuncArgs TN166
“MPW C Functions Using Strings or Points as Arguments”
MPW 2.0 includes new C interfaces to ROM routines which
no longer do string and point conversions. These new
interfaces are described here.|
M.PT.CFunctions TN164
“MPW C Functions: To declare or not to declare, that is the question”
Here’s the low-down on when C functions need not be
declared in include files.|
M.PT.CommonLisp TN231 [1/2]
“Macintosh Allegro Common Lisp Features”
This Technical Note describes some known problems and
provides solutions to these problems for the Macintosh
Allegro Common Lisp™ package which is available from
Apple Computer, Inc. You should note, however, that
although Apple acquired Coral Software and is selling
Macintosh Allegro Common Lisp, Apple is not currently
distributing any other products which had been developed
or previously sold by Coral Software. Changes since April |
M.PT.CommonLisp TN231 [2/2]
1989: Noted 1.3.1 documentation errors, corrected
erroneous floating-point patch for version 1.2.2, updated
1.2.2 information which is not relevant to 1.3.1, corrected
APDA part number, added examples of high-level printing
functions in 1.3.1, an array-dialog-item example, and
information explaining how to get the Victoria-Day release
of Portable Common LOOPS (PCL) to compile correctly under
1.3.1.|
M.PT.CplusplusPitfalls TN307 [1/2]
“MPW C++ Pitfalls”
This Technical Note covers most of the common and
serious subtle problems that a MPW C++ user might
encounter. For more information consult the current C++
literature. This Note will be updated periodically to reflect
changes in the language and the compiler. Always read the
release notes included with the MPW C++ to find out the
latest status for known bugs and restrictions. Changes |
M.PT.CplusplusPitfalls TN307 [2/2]
since January 1992: The original inline C++ Tech Note is now
part of an overall MPW C++ problem Tech Note.|
M.PT.Customs TN135
“Getting through CUSToms”
This technical note provides a way for developers to allow
sophisticated users to add code to an off-the-shelf
application. Using this scheme, the user can easily install
the code module; the application has to know how to call it
and, optionally, be able to respond to a set of predefined
calls from the custom package.|
M.PT.EditFileFormat TN84
“Edit File Format”
This technical note describes the format of the files
created by Edit. It has been verified for versions 1.x and
2.0.|
M.PT.FontDAMover TN23
“Life With Font/DA Mover—Desk Accessories”
This technical note describes how to make sure that your
desk accessory will work after being moved by Font/Desk
Accessory Mover.|
M.PT.HandleObjects TN281
“Multiple Inheritance and HandleObjects”
This Technical Note answers a common question about
MPW C++: “Why doesn’t HandleObject support multiple
inheritance?” It does this by giving a brief overview of how
multiple inheritance is implemented in MPW C++.|
M.PT.Hypercard TN168 [1/2]
“HyperCard And You: Economy Edition”
This Technical Note describes some HyperCard anomalies
with which developers should be familiar when developing
stackware, and it documents differences between
HyperCard versions where appropriate. Changes since
November 1987: Consolidated Technical Notes 168,
HyperCard 'snd ' Resources; 169, HyperCard 1.0.1 and 1.1
Anomalies; and 170, HyperCard File Format while adding and
updating material with regard to HyperCard 2.0 and |
M.PT.Hypercard TN168 [2/2]
condensing or obsoleting information on bugs which have
been addressed.|
M.PT.InsideObjPascal TN239
“Inside Object Pascal”
This Technical Note briefly explains why Object Pascal and
MacApp should only be used to write applications and MPW
tools.|
M.PT.Installer TN75
“Apple’s Multidisk Installer”
This Technical Note documents Apple’s Multidisk Installer,
and it is in addition to separate Installer documentation
which provides the details of writing scripts. Changes since
September 1991: Revised information on the use of Installer
version 3.1 to version 3.2. Revised information on the use of
ScriptCheck version 3.2.1 with Installer version 3.2. Added
Common Questions and Answers relating to the use of the
Installer.|
M.PT.MacAPPBugs TN280 [1/3]
“Bugs In MacApp? Yes, But I Love It!”
This Technical Note describes the latest information about
bugs or unexpected “features” in MacApp. Where possible,
solutions and fixes are noted. DTS intends this Note to be a
complete list of all known bugs in MacApp and will update it
as old bugs are fixed or new ones appear. If you have
encountered a bug or unexpected feature which is not
described here, be sure to let DTS know. Specific code
examples and suggested fixes are useful. This version of |
M.PT.MacAPPBugs TN280 [2/3]
the Note reflects the state of MacApp 2.0.1. The latest
version of this Note can always be found on AppleLink in the
Developer Services Bulletin Board. Changes since August
1990: Updated for MacApp 2.0.1. Revised line count of
MacApp 2.0. Added: TEditText #2; TEvtHandler #1; TGridView
#3; TTEView #5, 7, 9; TView #6; Assorted TView.Focus #8;
Globals #16; MABuild #13; Debug #10. Updated: TApplication
#3; TPopup #5; TScroller #1; TStdPrintHandler #2, 3; TTEView
#3; TView #3; TWindow #3; Assorted TView.Focus #3; Globals |
M.PT.MacAPPBugs TN280 [3/3]
#7, 8; MABuild #2, 11; Debug #4, 5; SADE Compatibility #1;
THINK Pascal #2. Removed: TApplication #5; TCommand #1;
TCtlMgr #1; TDeskScrapView #1; TGridView #2; TIcon #1;
TPopup #1, 2, 3; TStdPrintHandler #4; TTEView #1, 2, 6, 8;
TView #5; TWindow #1, 2; Assorted TView.Focus #7; Globals
#1-5, 9, 13-15; Debug #8, 9; THINK Pascal #1; Other #2.|
M.PT.MacAppView
“A Ten-Minute MacApp 'View' Adventure Game”
This Technical Note describes the new MacApp 3.0 'View'
resource.|
M.PT.MacinTalk TN268
“MacinTalk—The Final Chapter”
This Technical Note discusses the MacinTalk software
product.|
M.PT.MacPaintDoc TN86
“MacPaint Document Format”
This Technical Note describes the internal format of a
MacPaint® document, which is a standard used by many
other programs. This description is the same as that found
in the “Macintosh Miscellaneous” section of early Inside
Macintosh versions. Changes since October 1988: Fixed bugs
in the example code.|
M.PT.MPW202Bugs TN200 [1/2]
“MPW 2.0.2 Bugs”
This Technical Note describes latest information about
bugs or unexpected “features” in the MPW C, Pascal, and
Assembler products and the Toolbox and OS Interface
Libraries. We intend this Note to be a complete list of all
known bugs in these products, which will be updated as old
bugs are fixed, or new ones appear. If you have
encountered a bug or unexpected feature which is not
described here, be sure to let us know. Specific code |
M.PT.MPW202Bugs TN200 [2/2]
examples are useful. The bugs described in the October 1
revision of this Note will be fixed in the 3.0 release of MPW
scheduled for Fall 1988. Changes since August 1, 1988:
Corrected the description of “bug” #3 under MPW C as it is
not a bug according to the definition of the C language and
corrected an error in bug #2 of the Interface Libraries
concerning the glue for _SlotVInstall and _SlotVRemove.|
M.PT.MPWasmGlobals TN104
“MPW: Accessing Globals From Assembly Language”
This technical note demonstrates how to access MPW
Pascal and MPW C globals from the MPW Assembler.|
M.PT.MPWLoad TN93
“MPW: {$LOAD}; _DataInit;%_MethTables”
This technical note discusses the Pascal {$LOAD} directive
as well as how to unload the _DataInit and %_MethTables
segments.|
M.PT.MPWmc68881 TN146 [1/2]
“Notes on MPW’s -mc68881 Option”
This Technical Note discusses MPW’s -mc68881 option,
which represents Extended values in 96 bits (instead of 80,
as with software SANE), and compatibility issues when
using non-SANE system calls that expect 80-bit Extended
values. Changes since June 1990: Extended the warning
about explicitly checking for the presence of an FPU if an
application uses floating-point instructions to include the |
M.PT.MPWmc68881 TN146 [2/2]
possibility of FPU-less MC68040 products and also raised
the issue of extended values embedded in data structures.|
M.PT.NonMacMPW TN240
“Using MPW for Non-Macintosh 68000 Systems”
This Technical Note discusses using MPW 3.0 for creating
software intended to run on 68000-based systems that do
not implement the Macintosh run-time architecture. These
systems include NuBus™ cards, peripheral devices, and
proprietary 68000 systems.|
M.PT.ObjPascal TN105
“MPW Object Pascal Without MacApp”
This Technical Note discusses the PascalObject base class,
used, for instance, with MacApp programming. The Technical
Note describes how to write PascalObject derived classes
that work with both Object Pascal and C++ code linking. It
also describes the current restrictions and bugs with
writing C++ code using PascalObject as the base class. This
Technical Note is based on MacApp 2.0(.1), MPW 3.2 and
MPW C++ 3.1.|
M.PT.PascalToCProcParams TN265
“Pascal to C: PROCEDURE Parameters”
This Technical Note talks about nested procedures and
PROCEDURE parameters in Pascal and what to do when
converting them into C or C++. Changes since February 1990:
Fixed some type coercion problems.|
M.PT.PerfTuning TN313
“Performance Tuning with Development Tools”
This Technical Note is a collection of useful ideas and
suggestions to help you decrease the time required to
compile and link under MPW. Some of the issues are even
relevant to any development tools running under the
Macintosh environment. The Tech Note will also clarify what
performance tunings work, and which are marginal or may
not work at all.|
M.PT.ProjectorResource TN269
“'ckid' Resource Format”
This Technical Note describes the 'ckid' resource format
used by MPW’s Projector. If you are writing an editor or
development system, you may wish to allow or disallow file
modification based on the information in the resource.|
M.PT.ROMDebugger TN38
“The ROM Debugger”
This Technical Note discusses use of the Macintosh IIfx
IOP-based serial driver under A/UX, especially under certain
error conditions which cause it to perform differently than
documented in termio(7). (The SCC driver, used on non-IOP
machines, conforms to termio(7) in all cases.) References to
“the driver” herein refer to the IOP-based serial driver,
seriop.c.|
M.PT.Signals TN88
“Signals”
Signals are a form of intra-program interrupt which can
greatly aid clean, inexpensive error trapping in stack frame
intensive languages. A program may invoke the Signal
procedure and immediately return to the last invocation of
CatchSignal, including the complete stack frame state at
that point.|
M.PT.StandAloneCode [1/2]
“Stand-Alone Code, ad nauseam”
This Technical Note discusses many of the issues related to
stand-alone code modules. This Note is by no means a
completely original work, as the author borrows freely
from the work of Keith Rollin, Mark Baumwell, and Jim
Friedlander. Changes since October 1989: Completely
rewritten to broaden the discussion of stand-alone code
modules and include a greater scope of examples. |
M.PT.StandAloneCode [2/2]
Incorporates Technical Notes #110, MPW: Writing Stand-
Alone Code and #145, Debugger FKEY.|
M.PT.TeachText TN274
“The Compleat Guide to TeachText”
This Technical Note explains how to use TeachText to
create release notes, complete with pictures, which every
Macintosh owner can read. This Note assumes familiarity
with ResEdit.
Processes|
M.TB.Bundles TN48
“Bundles”
This note describes what a bundle is and how to create
one.|
M.TB.CDEFParams TN196
“'CDEF' Parameters and Bugs”
This Technical Note describes known bugs in the Control
Manager which affect control definition functions ('CDEF'
resources). Changes since August 1988: Updated to reflect
known bugs in the posCntl and thumbCntl messages and the
Control Manager _TrackControl call.|
M.TB.ChangedResource TN188
“ChangedResource: Too much of a good thing”|
M.TB.ClicklessSound TN19
“How To Produce Continuous Sound Without Clicking”
This Technical Note formerly described how to use the
Sound Driver to produce continuous sound without clicking.
Changes since March 1988: The continuous sound technique
is no longer recommended.|
M.TB.ColorWindowsIn7 TN298 [1/2]
“Color, Windows and 7.0”
System 7.0 introduces a new look for the Macintosh
Desktop. In order to implement those changes 'wctb' and
'cctb' resources have changed in both form and use; it is
now up to developers to take the lead and help the new
standard work. The task can be divided in two main areas:
in most cases all developers have to do is to stick to the
system resources in order to provide a homogeneous feel to
the user; developers in this group need only make sure the |
M.TB.ColorWindowsIn7 TN298 [2/2]
old 'wctb's are disposed of and that all dialogs and windows
are based on CGrafPorts. The other case is more restricted
and involves developers that need to use their own colors;
these applications have to define the resources using the
new templates and do a careful selection of the colors in
order to not break the color scheme implemented by the
system. Changes since January 1991: Removed note about
7.0 beta. Added mention to GetGray and added reference to
where to find the sample 'WDEF'|
M.TB.DeskTopFile TN29
“Resources Contained in the Desktop File”
This Technical Note describes the resources found in the
Desktop file. You should not base anything critical on the
format of the Desktop file. System 7 already uses another
scheme as did AppleShare 2.0 under System 6.0.x.|
M.TB.DialogUserItems TN34
“User Items in Dialogs”
The Dialog Manager does not go into detail about how to
manage user items in dialogs; this Technical Note describes
the process. Changes since March 1, 1988: Added MPW C 3.0
code, added a _SetPort call to the Pascal example, and
noted the necessity and meaning of enabled items.|
M.TB.FindDItem TN112
“FindDItem”
This revision corrects the meanings of bits 6 and 7, which
were interchanged in the older version of this technical
note. ResEdit uses these bits incorrectly in versions older
than 1.2.|
M.TB.FindersDrives TN28
“Finders and Foreign Drives”
This technical note describes the differences in the way
the 1.1g, 4.1, 5.0 and newer Finders communicate with
foreign (non-Sony) disk drives.|
M.TB.GetNewDialogErrs TN4
“Error Returns from GetNewDialog”|
M.TB.GetNextEvent TN85
“GetNextEvent; Blinking Apple Menu”
Wherein arcane mysteries are unraveled so you can make
the Alarm Clock (or a similar desk accessory) blink the Apple
menu at the appointed second. Also, why GetNextEvent is a
good thing.|
M.TB.HFSTidbits TN204
“HFS Tidbits”
This Technical Note describes two poorly documented
features of the File Manager.|
M.TB.Karma TN227
“Toolbox Karma”
This Technical Note discusses Macintosh Toolbox
compatibility and what you can do to help the Macintosh
continue evolving in the future.|
M.TB.KeyMapping TN160
“Key Mapping”
This Technical Note describes the Macintosh family key
code mapping scheme when running System file 4.1 and
later. This Note also provides a “safe” method for
remapping keyboards. Changes since October 1990: Added a
section on how 'KMAP' resources are matched to specific
ADB keyboard types and a section on the original Macintosh
and Macintosh Plus keyboards.|
M.TB.LDEFs TN279
“'LDEF' Madness”
This Technical Note uncovers a problem with writing Pascal
list definition procedures and two (yes, count ’em, two)
different methods to work around it.|
M.TB.MaxResInFile TN141
“Maximum Number of Resources in a File”
This note describes the limitation of the number of
resources in a single resource file.|
M.TB.MDEFMessage3 TN172
“Parameters for MDEF Message #3”
Selected menu items in a custom 'MDEF' resource do not
flash correctly due to a bug in the Menu Manager. This
Technical Note describes the problem and explains how to
make your 'MDEF' flash correctly.|
M.TB.MovableModalDialog TN302
“Help for Movable Modal Dialogs”
This Technical Note describes the process by which an
application can remap the Help Manager 'hmnu' resource
while a movable modal dialog box is on the screen. The Help
Manager handles the case for modal dialog boxes but punts
in the case of movable modal dialog boxes. The following
information will help you get the correct interface
performance.|
M.TB.Multifinder TN158
“Frequently Asked MultiFinder Questions”
This technical note provides answers to some of the more
frequently asked questions about MultiFinder. The
development name for MultiFinder was Juggler, so the term
“juggle” is used in this technical note to denote a context
switch.|
M.TB.MultiFinder1Bug TN177
“Problem with WaitNextEvent in MultiFinder 1.0”
This Technical Note discusses a bug in WaitNextEvent in
MultiFinder 1.0. This bug only occurs when WaitNextEvent is
called from the background. This bug will be fixed in the
next release of MultiFinder. Change since 11/87: the bug
will be fixed in Systems with versions greater than $04FF.|
M.TB.MultifinderMisc TN180
“MultiFinder Miscellanea”
This Technical Note discusses MultiFinder issues of which
programmers should be aware. Changes since June 1988:
Updated and generalized sample code to reflect new MPW
3.0 calls in both C and Pascal for saving and restoring A5 for
interrupt code that accesses application globals. Removed
text that can be found in Programmer’s Guide to
MultiFinder, and added a note about _PostEvent.|
M.TB.NewCDEVMsg TN215
““New” cdev Messages”
This Technical Note describes some previously
undocumented messages that the Control Panel can send to
a Control Panel device (cdev).|
M.TB.NewResourceMgrCalls TN214
“New Resource Manager Calls”
This Technical Note describes two new Resource Manager
calls that make opening and creating resource files much
easier.|
M.TB.NotificationManager TN184
“Notification Manager”
This Technical Note describes the Notification Manager, the
part of the operating system that lets an application, desk
accessory, or driver alert the user. Changes since October
1989: Clarified the section on error handling for calls to
_NMInstall.|
M.TB.OpenRFPerm TN185
“OpenRFPerm: What your mother never told you”
This note corrects an error in the description of the
Resource Manager routine OpenRFPerm found in Inside
Macintosh Volume IV.|
M.TB.OwnedResources
“Shortcut for Owned Resources”
This Technical Note discusses potential problems when
pending update events for windows behind modal dialogs
are not serviced. This note also documents some new
System 7 Dialog Manager calls. Changes since August 1991:
Added note clarifying how to use the new calls, documented
use of StdFilterProc in Interface.o,and corrected code
errors.|
M.TB.RervedResTypes TN32
“Reserved Resource Types”
This note discusses some problems with the Resource
Manager and how to work around them.|
M.TB.SeparateResFiles TN46
“Separate Resource Files”
This Technical Note describes a new facility of the Menu
Manager which allows you to add reduced icons and small
icons to your menus. Changes since August 1989: Corrected
references to SetItemCmd from SetItmCmd.|
M.TB.StripOpenResFile TN232
“Strip With _OpenResFile and _OpenRFPerm”
This Technical Note discusses a bug in _OpenResFile and
_OpenRFPerm which can cause system crashes and what
you can do to avoid this problem.|
M.TB.WDEFwDraw TN290
“Custom WDEF and wDraw”
This Technical Note explains why custom window definition
functions may not respond to a wDraw message from the
system (if you follow the documentation in Inside
Macintosh).|
M.TB.WMgrPort TN194
“WMgrPortability”
Where WMgrPort (the Window Manager’s port),
MultiFinder, and drawing outside of one’s windows will be
reconciled.|
M.TB.ZoomWindow TN79 [1/2]
“_ZoomWindow”
This Technical Note contains some hints about using
_ZoomWindow. Changes since February 1990: Fixed a bug in
DoWZoom which caused crashes if the content of a window
did not intersect with any device’s gdRect. Also made
DoWZoom more robust by making savePort a local variable
and checking for off-screen and inactive GDevice records.
(One variable name has changed.) Additional minor changes:
Corrected original sample code to use _EraseRect before |
M.TB.ZoomWindow TN79 [2/2]
zooming and added references to Human Interface Note #7,
Who’s Zooming Whom? for more subtle and application-
specific considerations.|
M.TE.Appearance TN92
“The Appearance of Text”
This technical note describes why text doesn’t always look
the way you expect depending on the environment you are
in.|
M.TE.EOLAmbiguity TN127
“TextEdit EOL Ambiguity”
TESetSelect may be used to position the insertion point at
the end of a line. There is an ambiguity, though; should the
insertion point appear at the end of the preceding line or
the start of the following one? It is possible to determine
what will happen, as you are about to see.|
M.TE.FONDs TN26 [1/2]
asked questions related to the Font Manager. For reasons
of consistency and easier reference, much of the contents
of Technical Notes #191, “Font Names,” #198, “Font/DA
Mover, Styled Fonts, and 'NFNT's,” and #245, “Font Family
Numbers,” have been updated and worked into this Note as
well.|
M.TE.FONDs TN26 [1/2]
“Fond of FONDs”
This Technical Note takes the place of Tech Note #26,
“Character vs. String Operations in QuickDraw” by Bryan
Stearns (March 1988), which pointed out the possible
differences between the results of a StringWidth call and
successive calls to CharWidth. This Note updates and brings
into a broader context the issues related to text measuring.
It also provides additional documentation on font family
resources ('FOND's), and addresses various other frequently |
M.TE.FontHeight TN30
“Font Height Tables”
This technical note describes how the Font Manager
(except in 64K ROMs) calculates height tables for fonts and
how you can force recalculation.|
M.TE.FontsAndScripts TN242
“Fonts and the Script Manager”
This Technical Note describes how the Script Manager uses
the font family ID to determine a script code.|
M.TE.InternationalCancel TN263
“International Canceling”
This Technical Note describes potential problems canceling
operations with the Command-period key sequence and
international keyboards.|
M.TE.IUChanges TN153
“Changes in International Utilities and Resources”
The International Utilities package and the international
resources have been changed with System file 4.1 to take
advantage of the Script Manager.|
M.TE.NewStringComp TN178
“Modifying the Standard String Comparison”
This technical note describes how to modify the standard
string comparison by constructing an itl2 resource.
Developers may want to modify the standard string
comparison if Apple’s comparison doesn’t meet their needs
or if Apple has not written a string comparison routine for
the language that concerns them.|
M.TE.Pixel2Char TN241
“Script Manager’s Pixel2Char Routine”
This Technical Note discusses the Pixel2Char routine
provided by the Script Manager. Changes since June 1989:
Clarified information, corrected minor errors, and replaced
the illustration.|
M.TE.PrintAction TN174
“Accessing the Script Manager Print Action Routine”
This technical note describes how Print Drivers can access
the Script Manager Print Action routine to print
unconventional text, such as Japanese or Arabic.|
M.TE.RecordSizeLimit TN237
“TextEdit Record Size Limitations Revisited”
This Technical Note describes another limit on the length of
a TextEdit record that was previously undocumented.|
M.TE.SafeCDEV TN251
“International CancelingSafe cdevs”
This Technical Note describes a potential problem with
Control Panel devices (cdevs) that contain EditText fields
and presents a way to avoid it.|
M.TE.ScriptDateTime TN264
“Script Manager 2.0 Date & Time Problems”
This Technical Note describes known bugs and features in
and solutions to the date and time routines introduced in
Script Manager 2.0.|
M.TE.ScriptVars TN243
“Script Manager Variables”
This Technical Note describes, in detail, the local and global
script variables.|
M.TE.TEScrollBug TN22
“TEScroll Bug”
This technical note will point out some bugs (and possible
workarounds), and other items of interest for the TextEdit
programmer.|
M.TE.TextEditBugs TN131
“TextEdit Bugs in System 4.2”
This note formerly described the known bugs with the
version of Styled TextEdit that was provided with System
4.1. Many of these bugs were fixed in System 4.2. This
updated Technical Note describes the remaining known
problems.|
M.TE.TextEditChanges TN207
“Styled TextEdit Changes in System 6.0”
Some changes were made to TextEdit in System 6.0 to
provide more functionality and to make life easier for the
programmer using TextEdit. This Note documents those
changes and enhancements. Changes since August 1988:
Corrected an error in TEDispatchRec in the figure on page 8.|
M.TE.TextEditConvert TN18
“TextEdit Conversion Utility”
Text sometimes must be converted between a Pascal
string and “pure” text in a handle. This note illustrates a
way to do this using MPW Pascal.|
M.TE.TextEditTech TN267 [1/2]
“TextEdit Technicalities”
This Technical Note discusses some areas in TextEdit that
have not previously been clearly documented. Changes
since February 1990: Added a note about the changes in
TextEdit for System Software 6.0.5, documented the low-
memory global TESysJust, clarified information about text
direction and _TESetJust, discussed problems with the
SetWordBreak routine along with a solution to work around |
M.TE.TextEditTech TN267 [2/2]
it, and described the differences in dialog text item
behavior.|
M.TE.TextInNarrowGP TN60
“Drawing Characters into a Narrow GrafPort”|
M.TE.WordBreakTables TN182
“How to Construct Word-Break Tables”
This technical note describes how to construct auxiliary
break tables for use with the FindWord routine in the Script
Manager.|
M.TN.WDMultifinder TN190
“Working Directories and MultiFinder”
This technical note describes the way that working
directories are handled under MultiFinder.|
TN10 M.HW.Pinouts
“Pinouts”|
TN100 M.OV.LargeScreens
“Large Screen Displays”|
TN101 M.FL.CreateResFilePMSP
“CreateResFile & PMSP”|
TN102 M.FL.HFSElucidations
“HFS Elucidations”|
TN103 M.ME.MaxApplZone&MoveHHiASM
“128K ROM/Asm”|
TN104 M.PT.MPWasmGlobals
“Globals from Asm”|
TN105 M.PT.ObjPascal
“Object Pascal”|
TN106 M.FL.VCBandDriveNum
“VCBs and Drive Numbers”|
TN107 M.FL.NullInFilename
“Nulls in Filenames”|
TN108 M.DV.AddDrive
“AddDrive DrvrInstall”|
TN111 M.ME.MoveHHiSetResPurge
“MoveHHi and SetResPurge”|
TN112 M.TB.FindDItem
“FindDItem”|
TN113 M.DV.BootBlocks
“Boot Blocks”|
TN114 M.NW.AppleShareOldFinder
“AppleShare and Old Finder”|
TN115 M.OV.StationaryPads
“Stationery Pads”|
TN116 M.NW.AppleShareApps
“AppleShareable Applications”|
TN117 M.OV.CompatibilityWhy
“Compatibility Why and How”|
TN120 M.IM.PrincipiaOffScreen
“Principia Off-Screen”|
TN121 M.NW.HLAppleTalk
“AppleTalk Interfaces”|
TN122 M.IM.DevIndPrinting
“Device Independen Printing”|
TN123 M.IM.LaserWriterROM
“LaserWriter ROM Bugs”|
TN124 M.IM.ImageWriter
“Low-Level Printing”|
TN125 M.IM.SpoolerShared
“Spool/Print Shared”|
TN126 M.PS.SubLaunching
“Sub(Launching) H-L Langu”|
TN127 M.TE.EOLAmbiguity
“TextEdit EOL Ambiguity”|
TN128 M.IM.PRGeneral
“PrGeneral”|
TN129 M.OV.GestaltSysenvirons
“_Gestalt & System Environs”|
TN130 M.FL.ioCompletion
“ioCompletion”|
TN131 M.TE.TextEditBugs
“TextEdit Bugs in 4.2”|
TN132 M.NW.AppleTalk
“AppleTalk Interfaces Update”|
TN133 M.IM.Spooler
“Is This a Spooler?”|
TN134 M.FL.DiskMedic
“Boot Problems”|
TN135 M.PT.Customs
“Getting thru CUSToms”|
TN136 M.ME.GrowZoneA5
“A5 in GrowZone Procs”|
TN139 M.HW.PlusROMVers
“Macintosh Plus ROMs”|
TN140 M.FL.PBHSetVol
“PBHSetVol”|
TN141 M.TB.MaxResInFile
“Number of Resources”|
TN142 M.NW.NoNetEvents
“Avoid Using Network Events”|
TN143 M.HW.ADBReInit
“Don’t Call ADBReInit in sys 4.2”|
TN144 M.HW.ColorMonitors
“Color Monitor Connection”|
TN146 M.PT.MPWmc68881
“MPW -mc68881”|
TN147 M.OV.GetInfoMasks
“Finder Notes”|
TN148 M.HW.Boardkits
“Mac II Board Suppliers”|
TN149 M.IM.DocNames
“Document Names”|
TN151 M.ME.SysError33
“System Error 33”|
TN152 M.IM.LaserPrep
“Laser Prep Routines”|
TN153 M.TE.IUChanges
“International Utilities Changes”|
TN154 M.IM.LargePict
“Large PICT Files”|
TN155 M.ME.HandleVSPointer
“Handles vs. Pointers”|
TN156 M.OV.ChkForFunction
“Identifying Features”|
TN157 M.FL.GetVInfo
“Problem with GetVInfo”|
TN158 M.TB.Multifinder
“MultiFinder Questions”|
TN159 M.DV.HDHacking
“Hard Disk Hacking”|
TN160 M.TB.KeyMapping
“Key Mapping”|
TN161 M.IM.PrintLoop
“Printing Loop That Cares”|
TN163 M.IM.ColorCopyBits
“Colorizing CopyBits”|
TN164 M.PT.CFunctions
“MPW C Functions”|
TN165 M.FL.CreateInDrop
“Creating In Drop Folders”|
TN166 M.PT.CFuncArgs
“C Glue”|
TN167 M.NW.AppleShareApp
“AppleShare Foreground Apps”|
TN168 M.PT.Hypercard
“HyperCard and You”|
TN171 M.IM.PackBits
“PackBits”|
TN172 M.TB.MDEFMessage3
“Popup MDEF Message 3”|
TN173 M.IM.PrGeneralBug
“PrGeneral Bug”|
TN174 M.TE.PrintAction
“PrintAction”|
TN175 M.IM.SetLineWidth
“SetLineWidth Revealed”|
TN177 M.TB.MultiFinder1Bug
“WaitNextEvent Bug in 1.0”|
TN178 M.TE.NewStringComp
“Sorting”|
TN179 M.FL.ioNamePtr
“ioNamePtr”|
TN18 M.TE.TextEditConvert
“TextEdit Conversion”|
TN180 M.TB.MultifinderMisc
“MultiFinder Miscellanea”|
TN181 M.IM.AppPictComments
“Picture Comments”|
TN182 M.TE.WordBreakTables
“WordBreak Tables”|
TN183 M.IM.PosIndPS
“Position ind PS”|
TN184 M.TB.NotificationManager
“Notification Manager”|
TN185 M.TB.OpenRFPerm
“OpenRFPerm”|
TN186 M.FL.LockRange
“"Lock, Unlock the Range"”|
TN187 M.FL.ioPosOffset
“ioPosOffset”|
TN188 M.TB.ChangedResource
“ChangedResource”|
TN189 M.OV.Vers
“Version Territory”|
TN19 M.TB.ClicklessSound
“Clickless Sound”|
TN190 M.TN.WDMultifinder
“WDs & MultiFinder”|
TN191 M.IM.FontNames
“Font Names”|
TN192 M.IM.LWDriverSurprise
“Surprises in LW Driver 5.0”|
TN193 M.IM.BitMatToRegion
“BitMapToRegion”|
TN194 M.TB.WMgrPort
“WMgrPort”|
TN195 M.NW.ASPvsAFP
“ASP & AFP”|
TN196 M.TB.CDEFParams
“CDEF Params and Bugs”|
TN197 M.OV.Chooser
“Chooser PACK”|
TN199 M.NW.KillNBP
“KillNBP”|
TN2 M.OV.Compatibility
“Compatability Guidelines”|
TN20 M.NW.Servers
“Servers on AppleTalk”|
TN200 M.PT.MPW202Bugs
“MPW 2.0.2 Bugs”|
TN203 M.OV.ManagerAbuse
“Managerial Abuse”|
TN204 M.TB.HFSTidbits
“HFS Tidbits”|
TN205 M.OV.Multifinder
“MultiFinder Revisited”|
TN206 M.HW.ADB
“Space Aliens (ADB) ”|
TN207 M.TE.TextEditChanges
“Styled Text Edit in 6.0”|
TN208 M.OV.A5
“Setting and Restoring A5”|
TN209 M.FL.ISO9660
“ISO 9660 CD ROM Format”|
TN21 M.IM.PictureOpcodes
“Picture Opcodes”|
TN210 M.OV.DesktopFile
“Desktop File Limits”|
TN211 M.IM.PaletteManagerChanges
“Palette Manager Changes 6.0.2”|
TN212 M.OV.32BitClean
“Joy of 32-Bit Clean”|
TN213 M.ME.StripAddress
“_StripAddress”|
TN214 M.TB.NewResourceMgrCalls
“New Resource Manager Calls”|
TN215 M.TB.NewCDEVMsg
“New CDEV Messages”|
TN216 M.NW.AppleShareLimits
“AppleShare Limits”|
TN217 M.IM.FontIcons
“Font File Icons”|
TN22 M.TE.TEScrollBug
“TEScroll Bug”|
TN220 M.OS.SegmentLoader
“Segment Loader Limitations”|
TN221 M.HW.NuBusLatency
“NuBus Interrupt Latency”|
TN222 M.TB.MenuFlashing
“Custom Menu Flashing Bug”|
TN223 M.PT.ASMInitGraf
“Assembly Language _InitGraf”|
TN224 M.NW.OpenAppleTalk
“Opening AppleTalk”|
TN225 M.NW.RegisterName
“Using RegisterName”|
TN226 M.FL.PBCatMove
“Moving Your Cat”|
TN227 M.TB.Karma
“Toolbox Karma”|
TN228 M.ME.SwapMMUMode
“Swapping MMU Mode”|
TN229 M.PT.AUXComapt
“A/UX Compatibility Guide”|
TN23 M.PT.FontDAMover
“Font/DA Mover”|
TN230 M.HW.SE30
“Macintosh SE/30”|
TN231 M.PT.CommonLisp
“Allegro Common Lisp”|
TN232 M.TB.StripOpenResFile
“Strip _OpenResFile/_Open”|
TN233 M.ME.MFandSetGrowZone
“MultiFinder and _SetGrowZone”|
TN234 M.HW.NuBusDesign
“NuBus Physical Designs”|
TN235 M.HW.MathCoProc
“Coop with Coprocessor”|
TN236 M.HW.SpeedyMathCoProc
“Speedy Coprocessor”|
TN237 M.TE.RecordSizeLimit
“TextEdit Limits Again”|
TN238 M.FL.FullPathName
“Getting a Full Pathname”|
TN239 M.PT.InsideObjPascal
“Inside Object Pascal”|
TN24 M.FL.Volumes
“Available Volumes”|
TN240 M.PT.NonMacMPW
“MPW for Non-Mac Systems”|
TN241 M.TE.Pixel2Char
“ Pixel2char”|
TN242 M.TE.FontsAndScripts
“Fonts and the Script Mgr”|
TN243 M.TE.ScriptVars
“Script Mgr Variables”|
TN244 M.IM.ColorCursor
“Color Cursor Cursing”|
TN245 M.IM.FontFamilies
“Font Family Numbers”|
TN246 M.FL.MixingHFSandC
“Mixing HFS and C I/O”|
TN247 M.OS.DeskHookINIT
“DeskHook and INIT Evils”|
TN248 M.DV.DriverTime
“Drivers and DAs in Need of Time”|
TN249 M.DV.SerialDriver
“Opening Serial Driver”|
TN25 M.OV.A5TrapPatching
“A5 and Patching traps”|
TN250 M.NW.AppleTalk2Mac
“AppleTalk Phase 2”|
TN251 M.TE.SafeCDEV
“Safe cdevs”|
TN252 M.IM.SmallIcons
“Plotting Small Icons”|
TN253 M.TB.SICNinMenu
“SICNs in Menus”|
TN254 M.HW.PortablePDS
“Portable PDS Development”|
TN255 M.HW.PortableROMExp
“Portable ROM Expansion”|
TN257 M.HW.SlotInterruptPrior
“Slot Interrupt Priority”|
TN258 M.DV.ChecksumBounce
“Our Checksum Bounced”|
TN259 M.IM.OldColors
“Old Style Colors”|
TN26 M.TE.FONDs
“Fond of FONDs”|
TN260 M.HW.NuBusPower
“NuBus Power Limits”|
TN261 M.HW.Cache
“Cache As Cache Can”|
TN262 M.DV.HLControlAndStatus
“Control & Status Calls”|
TN263 M.TE.InternationalCancel
“International Canceling”|
TN264 M.TE.ScriptDateTime
“Date & Time Problems”|
TN265 M.PT.PascalToCProcParams
“Pascal to C PROC Parms”|
TN266 M.DV.AbsolutePtDev
“Absolute Pointing Devices”|
TN267 M.TE.TextEditTech
“TextEdit Technicalities”|
TN268 M.PT.MacinTalk
“MacinTalk Final Chapter”|
TN269 M.PT.M.PT.AUXSysCalls
“A/UX System Calls”|
TN269 M.PT.ProjectorResource
“'ckid' Resource Format”|
TN270 M.NW.AppleTalkTimer
“ATalk Retry Timers”|
TN271 M.HW.MacIIfx
“Mac IIfx Inside Story”|
TN272 M.DV.SonyDriver
“Sony Drives For You”|
TN273 M.DV.SCSITermination
“SCSI Termination”|
TN274 M.PT.TeachText
“Compleat TeachText”|
TN275 M.IM.32BitQD
“32-Bit QuickDraw V1.2”|
TN276 M.DV.MonitorDepth
“Gimmie Depth or Death”|
TN277 M.IM.TimeSpaceCopyBits
“Time Space and CopyBits”|
TN278 M.DV.PBClose
“PBClose the Barn Door”|
TN279 M.TB.LDEFs
“LDEF Madness”|
TN28 M.TB.FindersDrives
“Finders and Drives”|
TN280 M.PT.MacAPPBugs
“MacApp Bugs 3.0”|
TN281 M.PT.HandleObjects
“Multiple Inheritance”|
TN282 M.HW.ByteSmearing
“Smear Tactics”|
TN284 M.PT.SerialUnderAUX
“IOP Diffs Under A/UX”|
TN285 M.ME.VMMemoryMapping
“GetPhysical ”|
TN286 M.DV.SerialGPi
“Serial GPi The Reliable Way”|
TN287 M.FL.Sparing
“Spare A Block”|
TN288 M.HW.sResources
“NuBus Block Transfers”|
TN289 M.IM.GCQDCopybits
“CopyBits & GC QuickDraw”|
TN29 M.TB.DeskTopFile
“Desktop File Resources”|
TN290 M.TB.WDEFwDraw
“WDEF and wDraw”|
TN291 M.HW.CMOSonLCPDS
“CMOS On LC PDS”|
TN292 M.DV.BusErrorHandler
“Bus Error Handlers”|
TN293 M.DV.CDNotes
“Excellent CD Notes”|
TN294 M.IM.pIdleProc
“PIdle Procedure ”|
TN295 M.IM.Feeder
“Feeder Fodder”|
TN296 M.IM.DictionaryLoading
“Lo Down On Downloading”|
TN297 M.IM.PictAndPrinting
“Pictures and Print”|
TN298 M.TB.ColorWindowsIn7
“"Color, Windows & 7.0"”|
TN30 M.TE.FontHeight
“Font Height Tables”|
TN300 M.PT.PascalObjects
“My Life as a Pascal Object”|
TN301 M.FL.FileShare
“File Sharing ”|
TN302 M.TB.MovableModalDialog
“Movable Modal Dialogs”|
TN303 M.ME.PurgeProc
“PurgeProc Note ”|
TN304 M.TB.PendingUpdates
“Update Perils”|
TN305 M.FL.PBSharePBUnshare
“PBShare & PBUnshare”|
TN306 M.IM.IconDrawing
“Icon Drawing in 7”|
TN307 M.PT.CplusplusPitfalls
“C++ Pitfalls”|
TN308 M.HW.psltResource
“pslt resource”|
TN309 M.NW.SourceRouting
“SourceRoutes”|
TN310 M.OV.ExtraCDEVRes
“Resource in CDEV”|
TN311 M.IM.PrJobMerge
“Fun with PrJobMerge (#2)”|
TN312 M.NW.AppleTalk2
“AppleTalk2”|
TN313 M.PT.PerfTuning
“Performance Tuning”|
TN314 M.OS.OmegaSANE
“OmegaSANE”|
TN315 M.FL.AliasFiles
“Alias File”|
TN316 M.NW.DAMExtensions
“DAM Extensions”|
TN317 M.HW.QuadraFPU
“FPU Operations on Quadras”|
TN318 M.DV.PollProc
“PollProc”|
TN319 M.NW.TokenTalkProgrammer
“TokenTlk Pgm Gd Update”|
TN32 M.TB.RervedResTypes
“Reserved Resource Types”|
TN320 M.PS.DeferredTasks
“Deferred Task Traps”|
TN33 M.IM.ImgWrtrPaper
“Image Writer II Paper Motion”|
TN34 M.TB.DialogUserItems
“User Items in Dialogs”|
TN36 M.DV.DrvQEl
“Drive Queue Elemets”|
TN38 M.PT.ROMDebugger
“ROM Debugger”|
TN4 M.TB.GetNewDialogErrs
“GetNewDialog Errors”|
TN40 M.TB.FinderFlags
“Finder Flags”|
TN41 M.IM.OffscreenBitMap
“Off-Screen Bitmaps”|
TN42 M.PT.PascalByPointer
“Pascal Routines Passed by Ptr”|
TN44 M.FL.Compatibility
“HFS Comaptibility Guidelines”|
TN46 M.TB.SeparateResFiles
“Separate Resource Files”|
TN47 M.FL.SFCustomize
“Standard File Customization”|
TN48 M.TB.Bundles
“Bundles”|
TN5 M.PS.DialogsInDAs
“DiaglogsfromDAs”|
TN50 M.TB.SetResLoad
“Calling SetResLoad”|
TN51 M.OV.PurgeNComactDebug
“Debug with PurgeMem & ComactMem”|
TN53 M.ME.MoreMasters
“MoreMasters Revisited”|
TN55 M.IM.DrawingIcons
“Drawing Icons”|
TN56 M.HW.BreakCTSEvent
“Break/CTS Serial Driver Events”|
TN59 M.IM.PictClipRegions
“Pictures and Clip Regions”|
TN6 M.TB.OwnedRsrcShortcuts
“Owned Resource Shortcuts”|
TN60 M.TE.TextInNarrowGP
“Drawing Text In Narrow GrafPort”|
TN62 M.TB.ResHeaderAppBytes
“Dont Use Res Header App Bytes”|
TN65 M.HW.MacPlusPinouts
“Mac Plus Pinouts”|
TN66 M.FL.ActiveFS
“Which File System is Active”|
TN67 M.FL.BlessedFolder
“Blessed Folder”|
TN68 M.FL.SearchingVols
“Searching volumes”|
TN69 M.FL.IOFDirIndexSetting
“PBGetCatInfo&ioFDirIndex”|
TN7 M.OV.Debugging
“Debugging Tips”|
TN70 M.DV.ForceFloppySize
“Forcing Floppy Size”|
TN71 M.DV.FindingDrivers
“Finding Drivers in Unit Table”|
TN72 M.IM.LaserWriterOpt
“LW Optimization Techniques”|
TN73 M.IM.ColorPrinting
“Color Printing”|
TN74 M.FL.NoDataInResFork
“Data In Resource Fork”|
TN75 M.PT.Installer
“Multidisk Installer”|
TN77 M.FL.HFSRuminations
“HFS Ruminations”|
TN78 M.TB.ResourceTips
“Resource Manager Tips”|
TN79 M.TB.ZoomWindow
“ZoomWindow”|
TN80 M.FL.SFTips
“Standard File Tips”|
TN81 M.FL.Caching
“Caching”|
TN82 M.TE.TextEditAdvice
“TextEdit”|
TN84 M.PT.EditFileFormat
“Edit File Format”|
TN85 M.TB.GetNextEvent
“GetNextEvent & Blinking Apple ”|
TN86 M.PT.MacPaintDoc
“MacPaint Document Format”|
TN87 M.FL.FCBPBRec
“Error in FCBPBRec”|
TN88 M.PT.Signals
“Signals”|
TN9 M.NW.Internets
“Internets”|
TN91 M.IM.PictComments
“PictComments Real Deal”|
TN92 M.TE.Appearance
“Appearance Of Text”|
TN93 M.PT.MPWLoad
“MPW {$LOAD}”|
TN94 M.FL.Tags
“Tags”|
TN95 M.IM.AddPrintDialog
“Print Dialogs (Bad formatting)”|
TN96 M.DV.SCSI
“SCSI Bugs”|
=|